#include <cstdio>
#include <algorithm>
#include <string>
#include <vector>
using namespace std;
vector<int> res;
int trans(int a){
    string t=to_string(a);
    int i=t.size()-1;
    int r=0;
    while(i>=0){
        r=r*10+t[i]-'0';
        i--;
    }
    return r;
}
bool check(int a){
    string t=to_string(a);
    int i=0,j=t.size()-1;
    while(i<=j){
        if(t[i]!=t[j]){
            return false;
        }
        i++;
        j--;
    }
    return true;
}
int main(void){
    int n;
    while(~scanf("%d",&n)){
        res.clear();
        res.push_back(n);
        int cnt=0;
        while(!check(n)){
            res.push_back(n+trans(n));
            n=n+trans(n);
            cnt++;
        }
        printf("%d\n",cnt);
        int l=int(res.size());
        printf("%d",res[0]);
        for(int i=1;i<l;i++){
            printf("--->%d",res[i]);
        }
        printf("\n");
    }
    return 0;
}